﻿using Microsoft.Practices.Unity;
using System.Web.Http.Dependencies;

namespace SelfHosting
{
    /// <summary>
    /// Localisation de service et la résolution de dépendance.
    /// </summary>
    public class UnityDependencyResolver : UnityDependencyScope, IDependencyResolver
    {
        #region Constructeur

        /// <summary>
        /// Initialise une nouvelle instance de la classe UnityDependencyResolver
        /// </summary>
        /// <param name="container">UnityContainer</param>
        public UnityDependencyResolver(IUnityContainer container)
            : base(container)
        {
        }

        #endregion

        #region Méthodes

        /// <summary>
        /// Démarre une portée de résolution
        /// </summary>
        /// <returns>une nouvelle portée de résolution</returns>
        public IDependencyScope BeginScope()
        {
            return new UnityDependencyScope(Container.CreateChildContainer());
        }

        #endregion
    }
}
